import re

a = '''
<ORU_R01>
    <MSH>
        <MSH.1>|</MSH.1>
        <MSH.2>^~\&amp;</MSH.2>
        <MSH.3>hospital</MSH.3>
        <MSH.7>20240821094555</MSH.7>
        <MSH.9>
            <MSH.9.1>ORU</MSH.9.1>
            <MSH.9.2>R01</MSH.9.2>
        </MSH.9>
        <MSH.12>2.3.1</MSH.12>
    </MSH>
    <PID>
        <PID.7>00000</PID.7>
        <PID.8>U</PID.8>
    </PID>
    <PV1>
        <PV1.2>U</PV1.2>
        <PV1.3>
            <PV1.3.3>Bed1</PV1.3.3>
        </PV1.3>
        <PV1.18>adult</PV1.18>
        <PV1.44>20240812</PV1.44>
    </PV1>
    <OBR>
        <OBR.7>20240821094555</OBR.7>
    </OBR>
    <OBX>
        <OBX.2>NM</OBX.2>
        <OBX.3>WEIGHT</OBX.3>
        <OBX.5>-1.0</OBX.5>
        <OBX.6>lb</OBX.6>
    </OBX>
    <OBX>
        <OBX.2>NM</OBX.2>
        <OBX.3>HEIGHT</OBX.3>
        <OBX.5>-1.0</OBX.5>
        <OBX.6>cm</OBX.6>
    </OBX>
    <OBX>
        <OBX.2>NM</OBX.2>
        <OBX.3>HR</OBX.3>
        <OBX.5>96</OBX.5>
        <OBX.6>bpm</OBX.6>
        <OBX.7>50-120</OBX.7>
    </OBX>
    <OBX>
        <OBX.2>NM</OBX.2>
        <OBX.3>RR</OBX.3>
        <OBX.5>17</OBX.5>
        <OBX.6>rpm</OBX.6>
        <OBX.7>8-30</OBX.7>
    </OBX>
    <OBX>
        <OBX.2>NM</OBX.2>
        <OBX.3>SpO2</OBX.3>
        <OBX.5>98</OBX.5>
        <OBX.6>%</OBX.6>
        <OBX.7>90-100</OBX.7>
    </OBX>
    <OBX>
        <OBX.2>NM</OBX.2>
        <OBX.3>PR</OBX.3>
        <OBX.5>88</OBX.5>
        <OBX.6>bpm</OBX.6>
        <OBX.7>50-120</OBX.7>
    </OBX>
    <OBX>
        <OBX.2>NM</OBX.2>
        <OBX.3>PI</OBX.3>
        <OBX.5>6</OBX.5>
        <OBX.6>none</OBX.6>
        <OBX.7>none</OBX.7>
    </OBX>
    <OBX>
        <OBX.2>NM</OBX.2>
        <OBX.3>NIBP_SYS</OBX.3>
        <OBX.5>132</OBX.5>
        <OBX.6>mmHg</OBX.6>
        <OBX.7>90-95</OBX.7>
        <OBX.14>20240821094531</OBX.14>
    </OBX>
    <OBX>
        <OBX.2>NM</OBX.2>
        <OBX.3>NIBP_DIA</OBX.3>
        <OBX.5>81</OBX.5>
        <OBX.6>mmHg</OBX.6>
        <OBX.7>50-90</OBX.7>
        <OBX.14>20240821094531</OBX.14>
    </OBX>
    <OBX>
        <OBX.2>NM</OBX.2>
        <OBX.3>NIBP_MAP</OBX.3>
        <OBX.5>97</OBX.5>
        <OBX.6>mmHg</OBX.6>
        <OBX.7>60-110</OBX.7>
        <OBX.14>20240821094531</OBX.14>
    </OBX>
    <OBX>
        <OBX.2>NM</OBX.2>
        <OBX.3>NIBP_PR</OBX.3>
        <OBX.5>72</OBX.5>
        <OBX.6>bpm</OBX.6>
        <OBX.7>50-120</OBX.7>
        <OBX.14>20240821094531</OBX.14>
    </OBX>
</ORU_R01>
'''

cc = r'<ORU_R01><MSH><MSH.1>|</MSH.1><MSH.2>^~\&amp;</MSH.2><MSH.3>hospital</MSH.3><MSH.7>20240821094555</MSH.7><MSH.9><MSH.9.1>ORU</MSH.9.1><MSH.9.2>R01</MSH.9.2></MSH.9><MSH.12>2.3.1</MSH.12></MSH><PID><PID.7>00000</PID.7><PID.8>U</PID.8></PID><PV1><PV1.2>U</PV1.2><PV1.3><PV1.3.3>Bed1</PV1.3.3></PV1.3><PV1.18>adult</PV1.18><PV1.44>20240812</PV1.44></PV1><OBR><OBR.7>20240821094555</OBR.7></OBR><OBX><OBX.2>NM</OBX.2><OBX.3>WEIGHT</OBX.3><OBX.5>-1.0</OBX.5><OBX.6>lb</OBX.6></OBX><OBX><OBX.2>NM</OBX.2><OBX.3>HEIGHT</OBX.3><OBX.5>-1.0</OBX.5><OBX.6>cm</OBX.6></OBX><OBX><OBX.2>NM</OBX.2><OBX.3>HR</OBX.3><OBX.5>96</OBX.5><OBX.6>bpm</OBX.6><OBX.7>50-120</OBX.7></OBX><OBX><OBX.2>NM</OBX.2><OBX.3>RR</OBX.3><OBX.5>17</OBX.5><OBX.6>rpm</OBX.6><OBX.7>8-30</OBX.7></OBX><OBX><OBX.2>NM</OBX.2><OBX.3>SpO2</OBX.3><OBX.5>98</OBX.5><OBX.6>%</OBX.6><OBX.7>90-100</OBX.7></OBX><OBX><OBX.2>NM</OBX.2><OBX.3>PR</OBX.3><OBX.5>88</OBX.5><OBX.6>bpm</OBX.6><OBX.7>50-120</OBX.7></OBX><OBX><OBX.2>NM</OBX.2><OBX.3>PI</OBX.3><OBX.5>6</OBX.5><OBX.6>none</OBX.6><OBX.7>none</OBX.7></OBX><OBX><OBX.2>NM</OBX.2><OBX.3>NIBP_SYS</OBX.3><OBX.5>132</OBX.5><OBX.6>mmHg</OBX.6><OBX.7>90-95</OBX.7><OBX.14>20240821094531</OBX.14></OBX><OBX><OBX.2>NM</OBX.2><OBX.3>NIBP_DIA</OBX.3><OBX.5>81</OBX.5><OBX.6>mmHg</OBX.6><OBX.7>50-90</OBX.7><OBX.14>20240821094531</OBX.14></OBX><OBX><OBX.2>NM</OBX.2><OBX.3>NIBP_MAP</OBX.3><OBX.5>97</OBX.5><OBX.6>mmHg</OBX.6><OBX.7>60-110</OBX.7><OBX.14>20240821094531</OBX.14></OBX><OBX><OBX.2>NM</OBX.2><OBX.3>NIBP_PR</OBX.3><OBX.5>72</OBX.5><OBX.6>bpm</OBX.6><OBX.7>50-120</OBX.7><OBX.14>20240821094531</OBX.14></OBX></ORU_R01>'

bb = a.replace('\n', '').replace(' ', '')
texts = ['HR', 'RR', 'SpO2']
matches = re.findall(r'<OBX>.*?</OBX>', bb, re.DOTALL)
pattern3 = r'<OBX\.3>(.*?)</OBX\.3>'
pattern5 = r'<OBX\.5>(.*?)</OBX\.5>'
dic = {}
for i in matches:
    match = re.search(pattern3, i, re.DOTALL)
    if match:
        k = match.group(1)
        if k in texts:
            value = re.search(pattern5, i, re.DOTALL).group(1)
            dic[k] = value
print(dic)
